﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Interfaces;
using Collections;
using Model;

namespace Controller
{
    public class OrdreController
    {
        public List<Iordre> HentAlleOrdrer()
        {
            List<Iordre> ordreliste;
            OrdreCollection oc = new OrdreCollection();
            ordreliste = oc.HentAlleOrdrer();
            return ordreliste;
        }
        public void OpretOrdre(Iordre ordre)
        {
            OrdreCollection oc = new OrdreCollection();
            oc.OpretOrdre(ordre);
        }

        public void FaerdigmeldOrdre(DateTime slutdato, Iordre valgtOrdre, int mobilnummer)
        {
            OrdreCollection oc = new OrdreCollection();
            oc.FaerdigmeldOrdre(slutdato, valgtOrdre);
            string faerdig = "Din scooter er klar til afhentning";
            BeskedCenter.SendSms(mobilnummer, faerdig);
          
        }
        public void OpretBookingOpgaveOrdreLinie(int opgavenr, int bookingnr, int ordrenr)
        {
            OrdreCollection oc = new OrdreCollection();
            oc.OpretBookingOpgaveOrdreLinie(opgavenr, bookingnr, ordrenr);
        }
        public int HentSidstIndsatteOrdrenr()
        {
            OrdreCollection oc = new OrdreCollection();
            int ordrenr = oc.HentSidstIndsatteOrdrenr();
            return ordrenr;
        }
        public List<Iordre> HentUafsluttedeOrdrer()
        {
            List<Iordre> ordreliste;
            OrdreCollection oc = new OrdreCollection();
            ordreliste = oc.HentUafsluttedeOrdrer();
            return ordreliste;
        }
        public List<Iordre> HentOrdrerDESC()
        {
            List<Iordre> ordreListe;
            OrdreCollection oc = new OrdreCollection();
            ordreListe = oc.HentOrdrerDESC();
            return ordreListe;
        }
        public List<Iordre> HentAfsluttedeUfaktureredeOrdrer()
        {
            List<Iordre> ordreliste;
            OrdreCollection oc = new OrdreCollection();
            ordreliste = oc.HentAfsluttedeUfaktureredeOrdrer();
            return ordreliste;
        }

        public List<Iordre> HentAlleUafsluttedeOrdrerDenAnsatteErBooketTil(int medarbejderNr)
        {
            List<Iordre> ordrer;
            OrdreCollection oc = new OrdreCollection();
            ordrer = oc.HentAlleUafsluttedeOrdrerDenAnsatteErBooketTil(medarbejderNr);
            return ordrer;
        }
        public void IndsaetUdlejningPaaOrdre(int ordrenummer)
        {
            OrdreCollection oc = new OrdreCollection();
            oc.IndsaetUdlejningPaaOrdre(ordrenummer);
        }
        public List<Iordre> HentUafsluttedeOrdrerForSpecifikKunde(int kundenummer)
        {
            List<Iordre> ordreListe;
            OrdreCollection oc = new OrdreCollection();
            oc.HentUafsluttedeOrdrerForSpecifikKunde(kundenummer);
            ordreListe = oc.HentUafsluttedeOrdrerForSpecifikKunde(kundenummer);
            return ordreListe;
        }

        public int TilfoejVareTilOrdre(int ordreNr, int vareNummer)
        {
            OrdreCollection oc = new OrdreCollection();
            int id = oc.TilfoejVareTilOrdre(ordreNr, vareNummer);
            return id;
        }
        
        public void sletVareFraOrdre(int id)
        {
            OrdreCollection oc = new OrdreCollection();
            oc.sletVareFraOrdre(id);
        }
        public void OpretOrdreVareLinie(int ordrenr, int varenr)
        {
            OrdreCollection oc = new OrdreCollection();
            oc.OpretOrdreVareLinie(ordrenr, varenr);
        }
    }
}
